home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 551-575 / disk_558 / btntape / src / tape.h < prev    next >
C/C++ Source or Header  |  1992-05-06  |  2KB  |  52 lines

  1. /* BTNtape include file, version 2.1 */
  2.  
  3. /* Operations supported by TapeIO */
  4. #define TSENSE  0    /* request sense */
  5. #define TREADY  1    /* test unit ready */
  6. #define TREAD   2    /* read blocks */
  7. #define TWRITE  3    /* write blocks */
  8. #define TREWIND 4    /* rewind tape */
  9. #define WFMARK  5    /* write file mark */
  10. #define TSKIPF  6    /* skip over files */
  11. #define TSKIPE  7    /* skip to end of data */
  12. #define TRETEN  8    /* retension tape */
  13. #define INQUIRY 9    /* read device info */
  14. #define MDSET   10   /* mode-set */
  15. #define MDSNS   11   /* mode-sense */
  16. #define USRMODE 12   /* user mode-set */
  17. #define RDCAP   13   /* read capacity */
  18. #define RAWCMD  14   /* send user scsi command to tape */
  19. #define TFINISH 15   /* wait for last operation to finish */
  20.  
  21. /* these control how fast TapeIO returns to the caller */
  22. #define CTLWAIT 0    /* return when operation is done */
  23. #define CTLIMM  1    /* return immediately */
  24.  
  25. #define FAKEOM 99    /* special return code for DAC EOM */
  26.  
  27. /* Supported device types (from INQUIRY) */
  28. #define SEQ    (inq[0]==0x01) /* sequential */
  29. #define DAC    (inq[0]==0x10) /* direct-access */
  30. #define BADLUN (inq[0]==0x7f) /* oops */
  31.  
  32. /* inline message print functions */
  33. #define MPR0(XYZ)           sprintf(dbb,XYZ);           MonPrint()
  34. #define MPR1(XYZ,V1)        sprintf(dbb,XYZ,V1);        MonPrint()
  35. #define MPR2(XYZ,V1,V2)     sprintf(dbb,XYZ,V1,V2);     MonPrint()
  36. #define MPR3(XYZ,V1,V2,V3)  sprintf(dbb,XYZ,V1,V2,V3);  MonPrint()
  37.  
  38. /* function prototypes */
  39. void _main(void);
  40. long   TapeIO(int,int,int);
  41. int    DoSense(long);
  42. int    postape(int,int,long);
  43. long   wrteot(int,int,long);
  44. void   freestuff(void);
  45. int    getstart(long *);
  46. void   MonPrint(void);
  47. void   toUPPER(char *);
  48. long   NewTape(void);
  49. void   thud(char *);
  50. void   returnpkt(struct DosPacket *, ULONG, ULONG);
  51. struct DosPacket *taskwait(void);
  52.